#ifndef YELLOWBUTTON_H
#define YELLOWBUTTON_H
#include <QPushButton>  // 继承自QPushButton
#include <QPainter>     // 用于绘制



//继承关系：YellowButton 继承自 QPushButton，因此拥有所有按钮的基础功能（点击事件、信号槽等）。
//自定义绘制：通过重写 paintEvent 方法，使用 QPainter 手动绘制背景、边框和文字，实现黄色按钮效果

class YellowButton : public QPushButton
{
    Q_OBJECT  // Qt元对象系统支持（信号槽等）
public:
    // 构造函数：支持传入按钮文字和父控件
    explicit YellowButton(const QString &text = "", QWidget *parent = nullptr);

protected:
    // 重写绘制事件，自定义按钮外观
//    在 Qt 的类继承体系中，QWidget是所有用户界面对象的基类，它提供了基本的绘制、事件处理等功能。
//    QPushButton作为一个具体的控件类，继承自QWidget，因此也继承了paintEvent函数。
//    这种继承机制使得QPushButton等控件可以重写该函数，从而定制自己的外观绘制逻辑
    void paintEvent(QPaintEvent *event) override;
};

#endif // YELLOWBUTTON_H
